Pocitadlo stazenych dat pres HTTP v synapsy

Otázka od: Milos Jircik

23. 11. 2004 15:51

Zdravim, pouzil jsem synapsy pro stazeni dat (html stranky) pomoci HTTP
protokolu. Vse je v poradku az na zobrazeni prubehu stazenych dat. Pro
stazeni jsem pouzil tridu THTTPSend na jeji udalost OnStatus jsem
povesil svoji proceduru a v ni mam nasledujici kod:

  case reason of
    HR_ReadCount:
      begin
        fUchazecDownloadInfo.valueR := fUchazecDownloadInfo.valueR +
StrToInt(value);
        if (fUchazecDownloadInfo <> nil) then
        begin
          fUchazecDownloadInfo.btnCancel.Enabled := true;
          fUchazecDownloadInfo.lText.Caption := 'Prijato ' +
IntToStr(fUchazecDownloadInfo.valueR div 1024) + ' Kb z ' +
IntToStr(HTTP2.DownloadSize div 1024) + ' Kb.';
        end;
        Application.ProcessMessages;
        fUchazecDownloadInfo.Update;
     end;
    HR_WriteCount:
      begin
        fUchazecDownloadInfo.valueW := fUchazecDownloadInfo.valueW +
StrToInt(value);
        if (fUchazecDownloadInfo <> nil) then
        begin
          fUchazecDownloadInfo.btnCancel.Enabled := true;
          fUchazecDownloadInfo.lText.Caption := 'Odeslano ' +
IntToStr(fUchazecDownloadInfo.valueW) + ' b z ' +
IntToStr(HTTP2.DownloadSize) + ' b.';
        end;
        Application.ProcessMessages;
        fUchazecDownloadInfo.Update;
     end;
  end;

Problem je v tom, ze soucet hodnot z promenne value nesedi s hodnotou
DownloadSize nebo UploadSize (rozdil neni velky, ale prece jen je). V
cem je problem?


Diky Milda.

Odpovedá: Lukas Gebauer

23. 11. 2004 16:31

> Problem je v tom, ze soucet hodnot z promenne value nesedi s hodnotou
> DownloadSize nebo UploadSize (rozdil neni velky, ale prece jen je). V
> cem je problem?

Zcela urcite nebude sedet o mnozstvi dat posilane v hlavickach HTTp
dotazu. V pripade, ze je downloadsize ci uploadsice nulove, je
potreba udalost o cteni ci zapiu dat ignorovat a nezapocitavat do
celkoveho preneseneho mnozstvi dat.



--
Lukas Gebauer.

E-mail: gebauerl@mlp.cz
http://www.ararat.cz/synapse/ - Ararat Synapse - TCP/IP Lib.